/* 
 * File:   CWorld.h
 * Author: ja1e09
 *
 * Created on August 14, 2011, 3:32 PM
 */

#ifndef CWORLD_H
#define	CWORLD_H

#include "Global.h"
#include "Definitions.h"

// World Entities
#include "CAgentEntity.h"
#include "CBlock.h"
#include "CFood.h"

// Bullet Wrapper
#include "BulletWrapper.h"

// Singleton Class
class CWorld
{
public:
    static CWorld* GetInstance();
    void Destroy(void);
    void Run();

protected:
    CWorld();
    CWorld(const CWorld&);
    CWorld& operator=(const CWorld&);

private:
    static CWorld* pInstance;
    unsigned int uNumRuns;  
    unsigned int uSimTime;  
    unsigned int uSimTSs;  
    unsigned long lTotalSimTSs;
    double dSimCurrentTime;
    int iNumAgents;

};

#endif	/* CWORLD_H */

